1. Field of the Invention
The present embodiment relates to a method for encoding and decoding three-dimensional animation data, and more particularly, to a method and an apparatus for encoding and decoding a position interpolator representing the location of an object in an animation path.
2. Description of the Related Art
Three-dimensional (3D) animation techniques have been widely adopted in 3D computer games or virtual reality computer applications. Virtual reality modeling language (VRML) is a representative example of such 3D animation techniques.
International multimedia standards, such as MPEG-4 binary format for scene (BIFS) and virtual reality modeling language (VRML), support a keyframe-based 3D animation using an interpolator node. In MPEG-4 BIFS and VRML, there are various kinds of interpolators including a scalar interpolator, a position interpolator, a coordinate interpolator, an orientation interpolator, a normal line interpolator, and a color interpolator, and these interpolators and their functions and characteristics are shown in Table 1.
TABLE 1InterpolatorCharacteristicsFunctionScalarLinear interpolation ofCapable of representinginterpolatorscalar variationsarea, diameter, andintensityPositionLinear interpolation on 3DParallel movement in 3DinterpolatorcoordinatesspaceOrientationLinear interpolation of 3DRotation in 3D spaceinterpolatorcoordinate axis andamount of rotationCoordinateLinear interpolation of3D morphinginterpolatorvariations in 3DcoordinatesNormalLinear interpolation of 3DCapable of representinginterpolatorcoordinates of normalvariations in 3D vector ofnormalColorLinear interpolation ofCapable of representinginterpolatorcolor informationvariations in color
Among the interpolators shown in Table 1, the position interpolator is used to represent information on the location of an animation path and consists of keys and key value fields. Key fields represent the position of each keyframe on a temporal axis using discontinuous numbers in a range between −∞ and ∞. Each of the Key value fields specifies information on the position of an object at a certain moment represented by each of the keys and consists of three components x, y, and z. Each of the key value fields includes as many key values as each of the key fields has.
Examples of the position interpolator are shown in FIGS. 1A and 1B. Specifically, FIG. 1 is a diagram illustrating key data, and FIG. 1B is a diagram illustrating key value data. MPEG-4 BIFS provides a method for encoding and decoding interpolator node, which is called predictive MF coding (PMFC).
FIG. 2 is a block diagram of a conventional PMFC encoder and a conventional PMFC decoder. In PMFC, key data and key value data of a position interpolator are encoded using a quantizer, a differential pulse code modulation (DPCM) operator, and an entropy encoder, as shown in FIG. 2. Referring to FIG. 2, the quantizer and the DPCM operator removes redundancy in the key data and the key value data, and the DPCM operator outputs the results of its operation to the entropy encoder. However, PMFC is not sufficiently effective in encoding key data and key value data because it entropy-encodes only differential data obtained from a general DPCM operation. In addition, due to the limitations the entropy-encoder has, it is almost impossible to provide high-quality animation.